The present invention generally relates to a debugging method and a debugger for an information processing program. More specifically, the present invention is directed to an information processing method and a debugger for effectively debugging a program object file which has been compiled without using a debug option.
Conventionally, the symbolic debugging method for a high level programming language program is known in the art. The debugger is described in "acm computing surveys" by C. E. McDowell and D. P. Helmbold, vol 17-21, 1985-1989, The Survey and Tutorial Journal of the ACM, pages 593 to 630. Further, the compile technique with employment of the -g option as the compile/debug option is explained in "UNIX System V Programmer Guide Release 3.1" issued by AT&T unix pacifics, translated into Japanese by Nippon Soft Bank, pages 772 to 785.
As represented in FIG. 1, an operator 9 indicates a symbolic operation, namely a variable name, a function name, a type name and the like contained in a source program to debug an information processing program 11 in such an arrangement that a debugger 13 refers to such a program object file or an executable file 12p obtained by compiling using a debug option, (for instance, "-g option" described in the above publication) from the information processing program. That is, the program object file 12p to be debugged obtained by compiling using the debug option contains the debug symbol information 20 including information 24 related to a data type of a symbol, which causes a heavy memory load. The heavy memory load is caused by having to store the data type information 23 of the respective function/variable symbols, the name/size of the defined data in addition to the function/variable symbol name information 21 and the address information 22 with respect to the respective functions and variables of this information process program 11, and, when the data type has structured data, structured subfield information. Moreover, since all of the information contained in the source program is embedded in the object program, there is another problem in view of information security. It should be understood that the debug symbol information has no relation to the execution of the program, but corresponds to auxiliary information used for the debugging operation.
Although a program object file compiled without using a debug option has the symbols and the addresses as shown in FIG. 1, this program object file does not have the data type information 23 and the data type symbol information 24 of functions and variables. As a result, there is a further problem that, for instance, structured data in C language cannot be symbolically accessed.